Ohne Kenntnisse der objektorientierte Programmierung ist es nicht mehr möglich, Software zu entwickeln. Dieses Thema führt am Beispiel von Benutzerschnittstellen in die Grundbegriffe Objekt, Ereignis und Ereignisprozeduren ein.
Benutzerschnittstellen setzen sich aus Text- und Grafikobjekten zusammen und heissen deshalb Graphical User Interfaces (GUI). Ihre Entwicklung folgt drei Phasen:
Objekte interaktiv entwerfen
Der Entwickler zeichnet zum Beispiel ein Bildschirmformular, das Bezeichnungsfelder (schwarz), Textfelder (weiss) und die Schaltflächen Verbuchen und Abbrechen enthält:
Objekten Ereignisse zuordnen
Der Entwickler ordnet zum Beispiel der Schaltfläche Abbrechen das Ereignis Mausklick zu.
Reaktionen auf Ereignisse programmieren
Der Entwickler beantwortet zum Beispiel einen Mausklick auf Abbrechen mit der Subroutine Abbrechen_Klick()
Vor dem Siegeszug der Objektorientierung ging der Programmierer in drei Schritten vor:
Er setzte ein Hauptprogramm aus wenigen Befehlen und Unterprogrammaufrufen zusammen
Er entwickelte Unterprogramme
Er unterbrach an wenigen Stellen den Programmablauf und forderte den Benutzer zur Eingabe auf.
Der Programmierer hatte so die volle Kontrolle über den Programmablauf, musste aber die Benutzerschnittstelle selbst programmieren. Diese war meist einfach, und die interaktionsfreiheit des Benutzers war beschränkt. Mehr Komfort brachten vorgefertigte GUI-Objekte. Man platziert zuerst Objekte wie Menüs, Schaltflächen und Dialogfenster auf dem Bildschirm und schreibt dann Code, der die Objekte mit den Benutzerreaktionen verbindet. Eine typische Enwicklerin geht wie folgt vor:
Sie erstellt ein Eingabe-/Ausgabefenster (Formular)
Sie platziert vordefinierte Steuerelemente wie Bezeichnungsfelder, Textfelder und Schaltfläche
Sie bestimmt die Eigenschaften des Formulars und der Steuerelemente, zum Beispiel Farben und Schrifttypen
Erst jetzt programmiert sie Reaktionen auf Ereignisse. Ein Ereignis ist meist eine Benutzeraktion wie ein Mausklick oder ein Tastendruck.

Ereignisse werden vom Benutzer oder vom Rechner ausgelöst. Zum Beispiel klickt der Benutzer auf eine Schaltfläche oder der Rechner löst ein Ereignis wie "Ablauf einer bestimmten Zeitdauer" aus. Der Entwicker reagiert zum Voraus auf ein Ereignis, indem er eine Ereignisprozedur schreibt. Zum Beispiel beantwortet er einen Klick auf die Schaltfläche Abbrechen mit der Subroutine Abbrechen_Click():
'--- Eingabeformular nach einem Klick auf die Schaltfläche Abbrechen entfernen Private Sub Abbrechen_Click() Unload Eingabeformular End Sub
Sobald die Benutzerin auf die Schaltfläche Abbrechen klickt, entfernt die Ereignisprozedur das laufende Formular vom Bildschirm und löscht es aus dem Programmspeicher. Weil der Softwareentwickler mit einer Prozedur auf ein Ereignis (engl. event) antwortet, nennt man diese Art der Programmierung ereignisorientiert (engl. event-driven).
Das Thema GUI-Objekte in Excel führt in die Benutzerschnittstelle einer Arbeitsmappe ein und QuadratDialog() veranschaulicht dies an einer Arbeitsmappe, die ein Quadrat zeichnet.
Oft heisst eine Programmiersprache erst dann objektorientiert, wenn sie neben der Entwicklung objektorientierter Benutzerschnittstellen auch die folgenden Konzepte unterstützt: Kapselung und Abstraktion sowie Vererbung und Polymorphismus.